#pragma once

#include <Blobz.h>
#include <BlobzGui.h>

namespace Tutorial7
{
	class TutorApp7 : public Blobz::BaseApplication, Blobz::GUIListener
	{
	public:
		TutorApp7();
		~TutorApp7();

	public:
		virtual bool onInitialize();
		virtual void onDeinitialize();

		virtual void onReload();

		virtual void onUpdate(float inFrameTime);
		virtual void onDraw();

		virtual void onFingerDown(const  TouchListener::TouchData& inData);
		virtual void onFingerUp(const  TouchListener::TouchData& inData);
		virtual void onFingerUpdate(const  TouchListener::TouchData& inData);
		virtual void onFingerExit(const  TouchListener::TouchData& inData);
		virtual void onGUIEvent(Blobz::GUIBase* inpComponent, Blobz::GUIEvent inGUIEvent, Blobz::FingerEvent inFingerEvent);

	private:
		float mAspectRatio;
		Blobz::Texture mBackgroundTexture;
		Blobz::GUIManager mGUIManager;
		Blobz::Button* mpAddButton;
		Blobz::Button* mpRemoveButton;
		Blobz::TrueTypeFont mFont;
		QString mStatusText;
		QStringList mCornerMenuNames;
	};
}
